﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Retete.Models;

namespace Retete.ViewModels
{
    public class VanzareViewModel
    {
        public List<ElementVanzareViewModel> ElementeVanzare { get; set; }
        public List<VanzareBonViewModel> Bonuri { get; set; }
        public List<string> TipuriVanzare { get; set; }
        public decimal Valoare
        {
            get 
            {
                if (ElementeVanzare == null) return 0;
                else return ElementeVanzare.Sum(element => element.Valoare); 
            }
        }
        public decimal ValoareBonuri
        {
            get 
            {
                if (Bonuri == null) return 0;
                else return Bonuri.Sum(element => element.Valoare);
            }
        }
        public decimal RestPlata
        {
            get { return Valoare - ValoareBonuri; }
        }

        public string TipVanzare { get; set; }
        public DateTime Data { get; set; }

        public string DenumireVanzare { get; set; }
        public decimal PortiiVandute { get; set; }
        public decimal PretVanzare { get; set; }

        public string ClientNume { get; set; }
        public string ClientCodFiscal { get; set; }
        public string ClientCodRegistruComert { get; set; }
        public string ClientAdresa { get; set; }
        public string ClientJudet { get; set; }
        public string ClientCont { get; set; }
        public string ClientBanca { get; set; }

        public string FacturaSerie { get; set; }
        public int FacturaNumar { get; set; }

        public bool TiparesteFactura { get; set; }
        public bool TiparesteProdusele { get; set; }
        public bool EmiteBon { get; set; }
        public bool InregistreazaVanzare { get; set; }

        public int IDMeniuVandut { get; set; }
        public int IDRetetaVanduta { get; set; }
        public int IDProdusVandut { get; set; }

        public decimal ValoareBonNou { get; set; }
        public int NumarBonuriNoi { get; set; }
        public bool GenereazaBon { get; set; }
        public int IDElementSters { get; set; }
        public bool Refresh { get; set; }

        public VanzareViewModel(List<VanzareBonViewModel> setBonuriExistente)
        {
            ElementeVanzare = new List<ElementVanzareViewModel>();
            Bonuri = setBonuriExistente;

            IDElementSters = -1;
            IDMeniuVandut = -1;
            IDRetetaVanduta = -1;
            IDProdusVandut = -1;

            ValoareBonNou = 0;
            NumarBonuriNoi = 0;
        }
        public VanzareViewModel() { }
    }
}